/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufpr.inf.escel.brain.parsers;

import br.ufpr.inf.escel.brain.model.DadoTeste;
import br.ufpr.inf.escel.brain.model.Individual;

/**
 * Classe que cria um individuo de acordo com o
 * tipo de programa escolhido. Metodo base para
 * criação da população inicial
 * 
 * @author gustavo
 */
public class Main {

    /**
     * Verifica a representação do tipo de dado escolhido, e popula
     * em um individuo.
     * 
     * @param tipo do dado de teste (PP ou PO)
     * @return Individuo com os dados de teste
     * @since 1.5
     */
    public static Individual createIndividualBy(String tipo) {
        FormatarDadoTeste fdt = FormatarFactory.getFormatador(tipo);

        Individual ind = new Individual();

        for (int i = 0; i < ind.getCapacidade(); i++) {
            DadoTeste dado = fdt.formarDadoTeste();
            dado.setId(i);
            dado.setFitness(Math.random());
            ind.add(dado);
        }

        return ind;
    }
}
